package com.un.ebs.workflow.domain;

import java.util.Date;
import com.un.ebs.workflow.enums.NodeTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (WorkflowNode)表实体类
 *
 * @author liubo
 * @since 2020-11-17 10:43:36
 */
@Data
@Component
@TableName("tb_workflow_node")
@SuppressWarnings("serial")
public class WorkflowNode extends Model<WorkflowNode> {

    @TableId(value = "id", type = IdType.UUID)
    private String id;
    
                
    @DbField(name = "workflow_id",  length = 40 , precision = 0)
    private String workflowId;
                
    @DbField(name = "name",  length = 100 , precision = 0)
    private String name;
                
    @DbField(name = "type",  length = -1 , precision = 0)
    private NodeTypeEnum type;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_time",  length = -1 , precision = 0)
    private Date createTime;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at",  length = 40 , precision = 0)
    private String createAt;
                
    @TableField(fill = FieldFill.UPDATE)    
    @DbField(name = "last_modified_time",  length = -1 , precision = 0)
    private Date lastModifiedTime;
                
    @TableField(fill = FieldFill.UPDATE)    
    @DbField(name = "last_modified_at",  length = 40 , precision = 0)
    private String lastModifiedAt;
                
    @DbField(name = "user_group_id",  length = 40 , precision = 0)
    private String userGroupId;
            
    @TableLogic        
    @DbField(name = "is_delete",  length = -1 , precision = 0)
    private Boolean isDelete;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
}